import axios from "./src";

// console.log(axios);

// 第一个函数 promise.resolve
// 第二个函数 promise.reject
// axios.interceptors.request.use(
//   (config) => {
//     return config;
//   },
//   (err) => {
//     return Promise.reject(err);
//   }
// );

axios.interceptors.request.use((config) => {
  console.log("拦截器1");
  return config;
});

axios.interceptors.request.use((config) => {
  console.log("拦截器2");
  return config;
});

axios.interceptors.request.use((config) => {
  console.log("拦截器3");
  return config;
});

axios.interceptors.response.use((config) => {
  console.log("拦截器4");
  return config;
});

const id = axios.interceptors.response.use((config) => {
  console.log("拦截器5");
  return config;
});

axios.interceptors.response.eject(id)


const getBtn = document.querySelector("#get-btn") as HTMLButtonElement;
const postBtn = document.querySelector("#post-btn") as HTMLButtonElement;

getBtn.addEventListener("click", () => {
  axios({
    url: "http://localhost:3000/posts?a=1", //保留已有参数 去掉hash符号
    method: "GET",
    params: {
      id: 2, //序列化
      foo: ["bar", "baz", "中文"],
      obj: { key: "value" },
      date: new Date(), // utc格式  世界统一格式
      test: null,
    },
  });
});

postBtn.addEventListener("click", () => {
  axios
    .post<{ id: number }>("http://localhost:3000/posts", {
      id: 2,
      foo: ["bar", "baz", "中文"],
      obj: { key: "value" },
      date: new Date(),
    })
    .then((res) => {
      console.log(res.data.id);
    });
});
